﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Cofe.Core;
using Cofe.Core.Entry;
using Cofe.Core.Implements;
using Newtonsoft.Json.Linq;

namespace Cofe.Web
{
    public interface IEntryJObjectSerializer : ICofeService
    {
        CofeSystemInfo ReadEntry(JObject data, params IEntrySerializerHelper[] helpers);
        WebEntryList ReadEntryList(JObject data, params IEntrySerializerHelper[] helpers);

        JObject WriteEntry<T>(T entry, bool includeDetails = false, bool writeLinks = true) where T : CofeSystemInfo;
        

        JObject WriteEntryList(WebEntryList entryList, bool includeDetails = false, bool writeLinks = true);
        
    }
}
